Створення проекту із застосуванням наслідування та поліморфізму

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2009
Тип роботи:
Розрахункова робота
Предмет:
Об’єктно-орієнтоване програмування
Група:
КН-32

Частина тексту файла

Міністерство освіти та науки України Національний університет “Львівська Політехніка” Кафедра АСУ Розрахункова робота №2 з предмету Об'єктно-орієнтоване програмування на тему: Створення проекту із застосуванням наслідування та поліморфізму” Львів - 2009 Зміст Індивідуальне завдання. Тексти головного файлу проекту, файлів модулів та форм. Аналіз отриманих результатів та висновки. Індивідуальне завдання. Створити проект Delphi для дослідження основних властивостей ООП – наслідування та поліморфізму: 1. Розробити компоненту на основі класу із полями у відповідності до варіанту. Передбачити конструктори (з параметрами та без), деструктор, селектори і модифікатори. Врахувати необхідність приховання даних. 2. Описати дочірні класи. Визначити та реалізувати необхідні поля та методи. 3. У дочірніх класах перевантажити або перевизначити операції (у відповідності до варіанту), які вводяться у батьківському класі як абстрактні методи (для кожного класу – з різною реалізацією). 4. Передбачити застосування поліморфного присвоєння та динамічного зв’язування. 5. Самостійно продумати і реалізувати спосіб демонстрації отриманих результатів. Примітка. Опис компонент, класів та реалізацію методів виконати в окремих програмних модулях. Варіант 12. Клас “коло”: координати центра, радіус, колір, ознака візуалізації (чи показувати на екрані). Дочірні класи: “вписаний многокутник” (кількість сторін); “описаний многокутник” (кількість сторін). Перевантажити операції: інкременту – збільшення кількості сторін, зміна знаку – зміна ознаки візуалізації, перетворення типу: вписаний – описаний многокутник. Перевизначити метод “малювання”. Тексти головного файлу проекту, файлів модулів та форм. //--------- project1.dpr ------------- program Project1; uses Forms, Unit1 in 'Unit1.pas' {Form1}; {$R *.res} begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end. //--------- unit1.pas ------------- unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Circle, StdCtrls; type TForm1 = class(TForm) Circle1: TCircle; Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; Button5: TButton; Button6: TButton; Button7: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Button6Click(Sender: TObject); procedure Button7Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; M:TOmnoh; Z:TVmnoh; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin Circle1:=TCircle.Create(Circle1.x,Circle1.y,Circle1.rad,1011,1); Circle1.Draw(Canvas); end; procedure TForm1.Button2Click(Sender: TObject); begin Circle1.SizeInc; end; procedure TForm1.Button3Click(Sender: TObject); begin Circle1.SizeInc(5); end; procedure TForm1.Button4Click(Sender: TObject); begin Circle1.SizeDec; end; procedure TForm1.Button5Click(Sender: TObject); begin Circle1.SizeDec(5); end; procedure TForm1.FormCreate(Sender: TObject); begin //Circle1:=TCircle.Create; Circle1.x:=250; Circle1.Y:=250; Circle1.rad:=90; end; procedure TForm1.Button6Click(Sender: TObject); begin //M.n:=strtoint(Edit1.text); M:=TOmnoh.Create(Circle1.x,Circle1.y,Circle1.rad,Circle1.kol,Circle1.viz); M.Draw(canvas); end; procedure TForm1.Button7Click(Sender: TObject); begin Z:=TVmnoh. Create(Circle1.x,Circle1.y,Circle1.rad,Circle1.kol,Circle1.viz); Z.Draw(canvas); end; end unit Circle; interface uses SysUtils, Classes,Controls,Graphics, Windows; type TCircle = class(TComponent) private { Private declarations } protected { Protected declarations } public x,y,rad,kol,viz:integer; construc...
Антиботан аватар за замовчуванням

01.01.1970 03:01

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини